# -*- coding:UTF-8 -*-

import json
from .validate import validate


def json_validate(schema):
    def decorator(view_func):
        def wrapper(requset, *args, **kwargs):
            json_str = requset.body
            json_str = json_str.decode()
            json_data = json.loads(json_str)
            # 调用封装好的方法validate()用来验证json数据
            result_validate = validate(schema, json_data)
            if result_validate:
                a = view_func(requset, *args, **kwargs)
                return a
            else:
                return result_validate
        return wrapper
    return decorator
